package com.hr.system.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.hr.common.annotation.Excel;
import com.hr.common.core.domain.BaseEntity;

/**
 * 员工工资对象 salary
 * 
 * @author ruoyi
 * @date 2021-02-26
 */
public class Salary extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 应发工资编号 */
    private Long id;

    /** 员工姓名 */
    @Excel(name = "员工姓名")
    private String userName;

    /** 工资发放月 */
    @Excel(name = "工资发放月")
    private String salaryMonth;

    /** 应发合计金额 */
    @Excel(name = "应发合计金额")
    private BigDecimal needPayTotal;

    /** 实发合计金额 */
    @Excel(name = "实发合计金额")
    private BigDecimal acctralPayTotal;

    /** 理应在职天数 */
    @Excel(name = "理应在职天数")
    private Integer dutyWorkDay;

    /** 实际在职天数 */
    @Excel(name = "实际在职天数")
    private Integer actualWorkDay;

    /** 基本工资 */
    @Excel(name = "基本工资")
    private BigDecimal baseSalary;

    /** 生活补贴 */
    @Excel(name = "生活补贴")
    private BigDecimal livingAllowance;

    /** 餐费补贴 */
    @Excel(name = "餐费补贴")
    private BigDecimal mealAllowance;

    /** 交通补贴 */
    @Excel(name = "交通补贴")
    private BigDecimal transportationAllowance;

    /** 通讯补贴 */
    @Excel(name = "通讯补贴")
    private BigDecimal communicationAllowance;

    /** 管理岗位津贴 */
    @Excel(name = "管理岗位津贴")
    private BigDecimal managementPositionAllowance;

    /** 技术岗位津贴 */
    @Excel(name = "技术岗位津贴")
    private BigDecimal technologyPositionAllowance;

    /** 外派津贴 */
    @Excel(name = "外派津贴")
    private BigDecimal expatriateAllowance;

    /** 加班小时数 */
    @Excel(name = "加班小时数")
    private Integer overtimeHours;

    /** 加班费 */
    @Excel(name = "加班费")
    private BigDecimal overtimePay;

    /** 迟到分钟数 */
    @Excel(name = "迟到分钟数")
    private Integer lateDeductionMinutes;

    /** 迟到扣除金额 */
    @Excel(name = "迟到扣除金额")
    private BigDecimal lateDeduction;

    /** 事假天数 */
    @Excel(name = "事假天数")
    private BigDecimal personalLeaveDays;

    /** 事假扣款金额 */
    @Excel(name = "事假扣款金额")
    private BigDecimal personalLeaveDeduction;

    /** 病假天数 */
    @Excel(name = "病假天数")
    private BigDecimal sickLeaveDays;

    /** 病假扣款金额 */
    @Excel(name = "病假扣款金额")
    private BigDecimal sickLeaveDeduction;

    /** 个税扣除 */
    @Excel(name = "个税扣除")
    private BigDecimal personalTaxDeduction;

    /** 五险一金扣除金额 */
    @Excel(name = "五险一金扣除金额")
    private BigDecimal fiveInsurancesAndOneFund;

    /** 银行账号 */
    @Excel(name = "银行账号")
    private String bankAccount;

    /** 用户编号 */
    private Integer userId;

    /** 租户编号 */
    private Integer tenantId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setSalaryMonth(String salaryMonth) 
    {
        this.salaryMonth = salaryMonth;
    }

    public String getSalaryMonth() 
    {
        return salaryMonth;
    }
    public void setDutyWorkDay(Integer dutyWorkDay) 
    {
        this.dutyWorkDay = dutyWorkDay;
    }

    public Integer getDutyWorkDay() 
    {
        return dutyWorkDay;
    }
    public void setActualWorkDay(Integer actualWorkDay) 
    {
        this.actualWorkDay = actualWorkDay;
    }

    public Integer getActualWorkDay() 
    {
        return actualWorkDay;
    }
    public void setBaseSalary(BigDecimal baseSalary) 
    {
        this.baseSalary = baseSalary;
    }

    public BigDecimal getBaseSalary() 
    {
        return baseSalary;
    }
    public void setLivingAllowance(BigDecimal livingAllowance) 
    {
        this.livingAllowance = livingAllowance;
    }

    public BigDecimal getLivingAllowance() 
    {
        return livingAllowance;
    }
    public void setMealAllowance(BigDecimal mealAllowance) 
    {
        this.mealAllowance = mealAllowance;
    }

    public BigDecimal getMealAllowance() 
    {
        return mealAllowance;
    }
    public void setTransportationAllowance(BigDecimal transportationAllowance) 
    {
        this.transportationAllowance = transportationAllowance;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public BigDecimal getTransportationAllowance()
    {
        return transportationAllowance;
    }
    public void setCommunicationAllowance(BigDecimal communicationAllowance) 
    {
        this.communicationAllowance = communicationAllowance;
    }

    public BigDecimal getCommunicationAllowance() 
    {
        return communicationAllowance;
    }
    public void setManagementPositionAllowance(BigDecimal managementPositionAllowance) 
    {
        this.managementPositionAllowance = managementPositionAllowance;
    }

    public BigDecimal getManagementPositionAllowance() 
    {
        return managementPositionAllowance;
    }
    public void setTechnologyPositionAllowance(BigDecimal technologyPositionAllowance) 
    {
        this.technologyPositionAllowance = technologyPositionAllowance;
    }

    public BigDecimal getTechnologyPositionAllowance() 
    {
        return technologyPositionAllowance;
    }
    public void setExpatriateAllowance(BigDecimal expatriateAllowance) 
    {
        this.expatriateAllowance = expatriateAllowance;
    }

    public BigDecimal getExpatriateAllowance() 
    {
        return expatriateAllowance;
    }
    public void setOvertimeHours(Integer overtimeHours) 
    {
        this.overtimeHours = overtimeHours;
    }

    public Integer getOvertimeHours() 
    {
        return overtimeHours;
    }
    public void setOvertimePay(BigDecimal overtimePay) 
    {
        this.overtimePay = overtimePay;
    }

    public BigDecimal getOvertimePay() 
    {
        return overtimePay;
    }
    public void setLateDeductionMinutes(Integer lateDeductionMinutes) 
    {
        this.lateDeductionMinutes = lateDeductionMinutes;
    }

    public Integer getLateDeductionMinutes() 
    {
        return lateDeductionMinutes;
    }
    public void setLateDeduction(BigDecimal lateDeduction) 
    {
        this.lateDeduction = lateDeduction;
    }

    public BigDecimal getLateDeduction() 
    {
        return lateDeduction;
    }
    public void setPersonalLeaveDays(BigDecimal personalLeaveDays) 
    {
        this.personalLeaveDays = personalLeaveDays;
    }

    public BigDecimal getPersonalLeaveDays() 
    {
        return personalLeaveDays;
    }
    public void setPersonalLeaveDeduction(BigDecimal personalLeaveDeduction) 
    {
        this.personalLeaveDeduction = personalLeaveDeduction;
    }

    public BigDecimal getPersonalLeaveDeduction() 
    {
        return personalLeaveDeduction;
    }
    public void setSickLeaveDays(BigDecimal sickLeaveDays) 
    {
        this.sickLeaveDays = sickLeaveDays;
    }

    public BigDecimal getSickLeaveDays() 
    {
        return sickLeaveDays;
    }
    public void setSickLeaveDeduction(BigDecimal sickLeaveDeduction) 
    {
        this.sickLeaveDeduction = sickLeaveDeduction;
    }

    public BigDecimal getSickLeaveDeduction() 
    {
        return sickLeaveDeduction;
    }
    public void setPersonalTaxDeduction(BigDecimal personalTaxDeduction) 
    {
        this.personalTaxDeduction = personalTaxDeduction;
    }

    public BigDecimal getPersonalTaxDeduction() 
    {
        return personalTaxDeduction;
    }
    public void setFiveInsurancesAndOneFund(BigDecimal fiveInsurancesAndOneFund) 
    {
        this.fiveInsurancesAndOneFund = fiveInsurancesAndOneFund;
    }

    public BigDecimal getFiveInsurancesAndOneFund() 
    {
        return fiveInsurancesAndOneFund;
    }
    public void setNeedPayTotal(BigDecimal needPayTotal) 
    {
        this.needPayTotal = needPayTotal;
    }

    public BigDecimal getNeedPayTotal() 
    {
        return needPayTotal;
    }
    public void setAcctralPayTotal(BigDecimal acctralPayTotal) 
    {
        this.acctralPayTotal = acctralPayTotal;
    }

    public BigDecimal getAcctralPayTotal() 
    {
        return acctralPayTotal;
    }
    public void setBankAccount(String bankAccount) 
    {
        this.bankAccount = bankAccount;
    }

    public String getBankAccount() 
    {
        return bankAccount;
    }
    public void setUserId(Integer userId) 
    {
        this.userId = userId;
    }

    public Integer getUserId() 
    {
        return userId;
    }
    public void setTenantId(Integer tenantId) 
    {
        this.tenantId = tenantId;
    }

    public Integer getTenantId() 
    {
        return tenantId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userName", getUserName())
            .append("salaryMonth", getSalaryMonth())
            .append("dutyWorkDay", getDutyWorkDay())
            .append("actualWorkDay", getActualWorkDay())
            .append("baseSalary", getBaseSalary())
            .append("livingAllowance", getLivingAllowance())
            .append("mealAllowance", getMealAllowance())
            .append("transportationAllowance", getTransportationAllowance())
            .append("communicationAllowance", getCommunicationAllowance())
            .append("managementPositionAllowance", getManagementPositionAllowance())
            .append("technologyPositionAllowance", getTechnologyPositionAllowance())
            .append("expatriateAllowance", getExpatriateAllowance())
            .append("overtimeHours", getOvertimeHours())
            .append("overtimePay", getOvertimePay())
            .append("lateDeductionMinutes", getLateDeductionMinutes())
            .append("lateDeduction", getLateDeduction())
            .append("personalLeaveDays", getPersonalLeaveDays())
            .append("personalLeaveDeduction", getPersonalLeaveDeduction())
            .append("sickLeaveDays", getSickLeaveDays())
            .append("sickLeaveDeduction", getSickLeaveDeduction())
            .append("personalTaxDeduction", getPersonalTaxDeduction())
            .append("fiveInsurancesAndOneFund", getFiveInsurancesAndOneFund())
            .append("needPayTotal", getNeedPayTotal())
            .append("acctralPayTotal", getAcctralPayTotal())
            .append("bankAccount", getBankAccount())
            .append("userId", getUserId())
            .append("tenantId", getTenantId())
            .toString();
    }
}
